home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / contacts / identity.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  3KB  |  97 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. from util import removedupes
  5.  
  6. class Identity(object):
  7.     __slots__ = [
  8.         'id',
  9.         'alias',
  10.         'groups',
  11.         'buddies']
  12.     
  13.     def __init__(self, id, alias = None, groups = None, buddies = None):
  14.         if groups is None:
  15.             groups = set()
  16.         
  17.         if buddies is None:
  18.             buddies = []
  19.         
  20.         self.id = id
  21.         self.alias = alias
  22.         self.groups = groups
  23.         none_tuple = (None,)
  24.         if (any,)((lambda .0: for g in .0:
  25. g == none_tuple)(groups)):
  26.             raise ValueError('groups had a None')
  27.         
  28.         self.buddies = removedupes(buddies)
  29.  
  30.     
  31.     def serialize(self):
  32.         buds = [ buddy.serialize() for buddy in self.buddies ]
  33.         buds2 = []
  34.         for bud in buds:
  35.             if bud not in buds2:
  36.                 buds2.append(bud)
  37.                 continue
  38.             []
  39.         
  40.         return dict(id = self.id, alias = self.alias, groups = self.groups, buddies = buds2)
  41.  
  42.     
  43.     def unserialize(cls, d):
  44.         buds = [ Personality.unserialize(buddy) for buddy in d['buddies'] ]
  45.         d['buddies'] = buds
  46.         return cls(**d)
  47.  
  48.     unserialize = classmethod(unserialize)
  49.     
  50.     def __repr__(self):
  51.         return '<Identity %r groups: %r, buddies: %r>' % (self.alias, self.groups, self.buddies)
  52.  
  53.  
  54.  
  55. class Personality(object):
  56.     __slots__ = [
  57.         'name',
  58.         'service']
  59.     
  60.     def __init__(self, name, service):
  61.         self.name = name.lower()
  62.         self.service = service
  63.  
  64.     
  65.     def serialize(self):
  66.         return dict(name = self.name.lower(), service = self.service)
  67.  
  68.     
  69.     def tag(self):
  70.         return (self.name.lower(), self.service)
  71.  
  72.     tag = property(tag)
  73.     
  74.     def __hash__(self):
  75.         return hash(self.tag)
  76.  
  77.     
  78.     def __cmp__(self, other):
  79.         if other is self:
  80.             return 0
  81.         
  82.         if not isinstance(other, type(self)):
  83.             return -1
  84.         
  85.         return cmp(self.tag, other.tag)
  86.  
  87.     
  88.     def unserialize(cls, d):
  89.         return cls(**d)
  90.  
  91.     unserialize = classmethod(unserialize)
  92.     
  93.     def __repr__(self):
  94.         return '<Personality %s %s>' % (self.name.lower(), self.service)
  95.  
  96.  
  97.